Français Virtuose

Meta description:

Vous permet d'entrer dans une **Posture émotionnelle** ou d'y mettre fin. En fonction de votre posture, vous gagnez un bonus en échange d'un malus et d'un coût en Flux chaque seconde. Plus vous avez de Points d’émotion correspondant a votre posture, plus ce coût en Flux est réduit. Si vous n'avez pas assez de Flux au début d'une seconde pour continuer votre posture, elle sera arrêtée automatiquement.

  • Tags:

    Succès automatique
  • Name:

    aEmotionalPosture

  • Displayed name:

    Posture émotionnelle

  • Description:

    Vous entrez dans une posture émotionnelle, que vous tenez tant que votre Flux le permet. Chaque émotion renforce une caractéristique et en affaiblit une autre : - **Rage** : bonus de Force, malus de Résilience. - **Euphorie** : bonus d'Agilité, malus d'Arcane. - **Sérénité** : bonus de Sagacité, malus de Réflexe. - **Mélancolie** : bonus d'Intelligence, malus de Vigueur. *Reprendre l'action permet de changer d'émotion ou de quitter la posture. Si le Flux vient à manquer au début d'une seconde, la posture s'interrompt d'elle-même.*

  • Cast description:

    | PA: vAP.string | TdR: vCD.strings | | :---: | :---: | | **Flux: vFluxCost.string/s** | **Portée: vRange.string** | @if vPosture.value > 0 then [[**Vous avez choisi la posture vPosture.string**, ce qui vous donne un bonus de **vBonus.string en {({[[Force]],[[Agilité]],[[Sagacité]],[[Intelligence]]})[vPosture.value]}**, mais un malus de **-vBonus.string en {({[[Résilience]],[[Arcane]],[[Réflexe]],[[Vigueur]]})[vPosture.value]}**. Elle dure tant que vous la tenez, et coûte vFluxCost.string Flux chaque seconde, moins 5 % par point de posture.]] else [[**Vous quittez votre posture.**]] end

  • Condition:

  • AP cost:

    1

  • Cooldown:

    10

  • Flux cost:

    apMod(vAP)*cdMod(vCD)*selfMod*0.2*targetMod(1,0)*(effect(vBonus*70,35)-(selfMod*effect(vBonus*45,22.5)))
  • Variables:

    vRange = ListVariable([[vRange]], [[Portée]], {[[selfMod]]}, {[[Soi]]})
    postureValues = {[[1]], [[2]], [[3]], [[4]]}
    postureStrings = {[[Rage]], [[Euphorie]], [[Sérénité]], [[Mélancolie]]}
    if character:has([[mEmotionalPosture]]) then
        table.insert(postureValues, 1, [[0]])
        table.insert(postureStrings, 1, [[Quitter la posture]])
    end
    vPosture = ListVariable([[vPosture]], [[Posture]], postureValues, postureStrings)
    vBonus = NumberVariable([[vBonus]], [[Bonus]], [[1]], [[10]], [[1]])
    
  • On used script:

  • On post script:

    if (success) then
        action.currentCD.value = vCD.value
    end
    
  • Type:

    1

  • Action effects:

    • Use case:

      1

    • Name:

      Posture émotionnelle

    • Description:

    • Script:

      if (character:has([[mEmotionalPosture]])) then
          character.mEmotionalPosture:delete()
      end
      if ({{vPosture.value}} > 0) then
          effect = character:createEffect([[mEmotionalPosture]])
          effect.displayName:set([[Posture : {{vPosture.string}}]])
          effect.description:set([[Votre posture augmente votre {{({[[Force]],[[Agilité]],[[Sagacité]],[[Intelligence]]})[vPosture.value]}} de {{vBonus.string}} mais réduit votre {{({[[Résilience]],[[Arcane]],[[Réflexe]],[[Vigueur]]})[vPosture.value]}} de -{{vBonus.string}}, pour {{vFluxCost.value}} Flux par seconde, réduits de 5 % par point de posture.]])
          effect.script:set([=[character.{{({[[sStrength]],[[sAgility]],[[sSagacity]],[[sIntelligence]]})[vPosture.value]}}:addCurrent({{vBonus.value}}, [[psychic]], modifier.displayName.value)
      character.{{({[[sResilience]],[[sArcana]],[[sReflex]],[[sVigor]]})[vPosture.value]}}:addCurrent({{-vBonus.value}}, [[psychic]], modifier.displayName.value)]=])
          effect.recurrentScript:set([=[if (character.sFlux.current >= {{vFluxCost.value}}*0.95^character.{{({[[sRagePoints]],[[sEuphoriaPoints]],[[sSerenityPoints]],[[sMelancholyPoints]]})[vPosture.value]}}.current) then
          character.sFlux:changeCurrent(-math.floor({{vFluxCost.value}}*0.95^character.{{({[[sRagePoints]],[[sEuphoriaPoints]],[[sSerenityPoints]],[[sMelancholyPoints]]})[vPosture.value]}}.current))
      else
          character.mEmotionalPosture:delete()
      end]=])
          effect:activate()
      end
      
    • Variables: